// 收货地址管理页面的逻辑

import {
  getAllAddressList,
  selectAddress
} from '../../../api/addressMangerAPI'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    addressList: [],
    from: "my", //该字段表示在哪个页面跳转的收货地址管理页面,如果是我的页面跳转的,不显示单选按钮,默认是从我的页面跳转(有两个取值:my,order)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("进入收货地址管理页面", options);
    if (options.from) {
      console.log("传入了from参数");
      this.setData({
        from: options.from
      })
    }
  },
  onShow:function() {
    //请求收货地址列表
    getAllAddressList().then((addressList) => {
      console.log("接受到的收货地址列表:", addressList);
      if (!addressList) {
        this.setData({
          addressList:[]
        })
      }else{
        this.setData({
          addressList
        })
      }
      
    }).catch((err) => {
      console.log("请求收货地址列表时出现错误:", err);
    })
  },
  /**
   * 进入编辑收货地址页面
   * @param {e} e 
   */
  handleEdit(e) {
    console.log("点击了编辑按钮---------", e.currentTarget.dataset.item);
    wx.navigateTo({
      url: '../editAddress/editAddress?address=' + JSON.stringify(e.currentTarget.dataset.item),
    })
  },
  /**
   * 改变选择的收货地址
   * @param {e} e 
   */
  changeSelect(e) {
    console.log("选中的收货地址id:" + e.currentTarget.dataset.id);
    let id=e.currentTarget.dataset.id
    //如果是从订单页面进入,进行如下操作
    if (this.data.from === 'order') {
      console.log("开始修改当前使用的收货地址....");
      selectAddress(id).then((res) => {
        console.log("选中收货地址结果:",res);
        if (res.code === 2000) {
          console.log("当前使用的收货地址修改成功");
          //然后返回到上一页
          wx.navigateBack({
            delta: 1,
          })
        }else{
          wx.showToast({
            title: '选择收货地址失败,请稍后重试',
            icon: 'none'
          })
        }
      }).catch((err) => {
        console.log("选中收货地址失败");
        wx.showToast({
          title: '选择收货地址失败,请稍后重试',
          icon: 'none'
        })
      })
    }
  }
})